Ca programatori ne găsim de multe ori în situația de a efectua o secvență de instrucțiuni de mai multe ori (de exemplu un calcul) pentru date diferite sau pentru aceleași date. În aceste situații este de dorit ca respectiva secvență de instrucțiuni să fie scrisă separat sub forma unui subprogram care va fi identificat prin nume.
Un subprogram este format din două părți din care una este declarativă, iar cealaltă executabilă. Partea declarativă este identică cu partea declarativă a unui program, aceasta conținând declarații de variabile, constante, tipuri de date etc. Partea executabilă este formată dintr-o secvență de instrucțiuni asemănătoare secvenței “begin-end.” cu singura diferență că un subprogram se termină întotdeauna cu “;”.[…]
Instrucțiunile programului principal se succed în ordine de sus în jos. În momentul unui apel de subprogram se vor executa instrucțiunile acestuia, iar, după terminarea subprogramului, se va reveni la execuția instrucțiunilor din programul principal.
Observație: un subprogram poate apela la rândul său un alt subprogram, sau se poate apela pe sine (procedeu ce se numește recursivitate și va fi învățat mai târziu). […]
Mai multe subprograme ce rezolvă probleme din același domeniu (ex. funcții grafice, matematice) pot fi grupate în unități. Ele vor putea fi utilizate cu ușurință fără a fi necesară rescrierea lor pentru fiecare program.
(Adaptat după Manualul de Informatică, clasa a X-a, Livia Ţoca, Andreea-Ruxanda Demco, Cristian Opincaru, Adrian Sindile)